package com.ruoyi.business.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

public class UserInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /** id */
    private Long id;

    /** 用户唯一id */
    @Excel(name = "用户唯一id")
    private String userId;

    /** 微信openid */
    @Excel(name = "微信openid")
    private String openId;

    /** 社区id */
    @Excel(name = "社区id")
    private String deptId;

    @Excel(name = "社区名称")
    private String deptName;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickname;

    /** 微信头像链接 */
    @Excel(name = "微信头像链接")
    private String wechatAvatar;

    /** 微信union_id */
    @Excel(name = "微信union_id")
    private String unionId;

    /** 用户地址 */
    @Excel(name = "用户地址")
    private String address;

    /** 用户真实姓名 */
    @Excel(name = "用户真实姓名")
    private String userName;

    /** 用户性别（M: 男, F: 女） */
    @Excel(name = "用户性别", readConverterExp = "M=:,男=,,F=:,女=")
    private String gender;

    /** 用户年龄 */
    @Excel(name = "用户年龄")
    private Long age;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String idCardNumber;

    /** 用户出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用户出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 用户电话号码 */
    @Excel(name = "用户电话号码")
    private String phoneNumber;

    /** 用户身高（单位：cm） */
    @Excel(name = "用户身高", readConverterExp = "单=位：cm")
    private BigDecimal height;

    /** 用户体重（单位：kg） */
    @Excel(name = "用户体重", readConverterExp = "单=位：kg")
    private BigDecimal weight;

    /** 账号状态（0: 正常, 1: 停用） */
    @Excel(name = "账号状态", readConverterExp = "0=:,正=常,,1=:,停=用")
    private String status;


    @Excel(name = "用户类型", readConverterExp = "0=:,被监护人,,1=:,监护人")
    private String userType;

    /** 删除标志（0: 存在, 2: 删除） */
    private String delFlag;

    /** 用户最后登录IP地址 */
    @Excel(name = "用户最后登录IP地址")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginDate;

    /** 最近登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginTime;

    /** 用户身份验证token */
    @Excel(name = "用户身份验证token")
    private String token;

    /** token过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "token过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tokenExpiredDate;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 创建人id */
    @Excel(name = "创建人id")
    private String createId;

    /** 更新人id */
    @Excel(name = "更新人id")
    private String updateId;

    /** 紧急联系人 */
    private String urgentUser;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getWechatAvatar() {
        return wechatAvatar;
    }

    public void setWechatAvatar(String wechatAvatar) {
        this.wechatAvatar = wechatAvatar;
    }

    public String getUnionId() {
        return unionId;
    }

    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Long getAge() {
        return age;
    }

    public void setAge(Long age) {
        this.age = age;
    }

    public String getIdCardNumber() {
        return idCardNumber;
    }

    public void setIdCardNumber(String idCardNumber) {
        this.idCardNumber = idCardNumber;
    }

    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public BigDecimal getHeight() {
        return height;
    }

    public void setHeight(BigDecimal height) {
        this.height = height;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Date getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    public Date getLoginTime() {
        return loginTime;
    }

    public void setLoginTime(Date loginTime) {
        this.loginTime = loginTime;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public Date getTokenExpiredDate() {
        return tokenExpiredDate;
    }

    public void setTokenExpiredDate(Date tokenExpiredDate) {
        this.tokenExpiredDate = tokenExpiredDate;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    @Override
    public String getCreateId() {
        return createId;
    }

    @Override
    public void setCreateId(String createId) {
        this.createId = createId;
    }

    @Override
    public String getUpdateId() {
        return updateId;
    }

    @Override
    public void setUpdateId(String updateId) {
        this.updateId = updateId;
    }

    public String getUrgentUser() {
        return urgentUser;
    }

    public void setUrgentUser(String urgentUser) {
        this.urgentUser = urgentUser;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", userId='" + userId + '\'' +
                ", openId='" + openId + '\'' +
                ", deptId='" + deptId + '\'' +
                ", deptName='" + deptName + '\'' +
                ", nickname='" + nickname + '\'' +
                ", wechatAvatar='" + wechatAvatar + '\'' +
                ", unionId='" + unionId + '\'' +
                ", address='" + address + '\'' +
                ", userName='" + userName + '\'' +
                ", gender='" + gender + '\'' +
                ", age=" + age +
                ", idCardNumber='" + idCardNumber + '\'' +
                ", birthDate=" + birthDate +
                ", phoneNumber='" + phoneNumber + '\'' +
                ", height=" + height +
                ", weight=" + weight +
                ", status='" + status + '\'' +
                ", userType='" + userType + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", loginIp='" + loginIp + '\'' +
                ", loginDate=" + loginDate +
                ", loginTime=" + loginTime +
                ", token='" + token + '\'' +
                ", tokenExpiredDate=" + tokenExpiredDate +
                ", longitude='" + longitude + '\'' +
                ", latitude='" + latitude + '\'' +
                ", nativePlace='" + nativePlace + '\'' +
                ", nation='" + nation + '\'' +
                ", createId='" + createId + '\'' +
                ", updateId='" + updateId + '\'' +
                ", urgentUser='" + urgentUser + '\'' +
                '}';
    }
}
